#pragma once
#include <windows.h>
#include <d3d11_1.h>
#include <d3dcompiler.h>
#include <directxcolors.h>
#include <DirectXMath.h>
#include "WICTextureLoader.h"
using namespace DirectX;
class Dx11DemoBase
{
public:
	XMFLOAT3 Pos;
	XMFLOAT3 Rotation;
	Dx11DemoBase();
	~Dx11DemoBase();
	virtual bool LoadContent();//载入具体的Demo自己的内容，如纹理，几何体，着色器
	virtual void UnLoadContent();//释放具体Demo中的内容

	virtual void Update(float dt) = 0;
	virtual void Render() = 0;

	bool Dx11DemoBase::CompileD3DShader(TCHAR* filePath, char* entry, char* shaderModel, ID3DBlob** buffer);

	HRESULT WINAPI DXUTCreateShaderResourceViewFromFile(_In_ ID3D11Device* d3dDevice, _In_z_ const wchar_t* szFileName, _Outptr_ ID3D11ShaderResourceView** textureView);

	void SetTheCamera(class Camera* InCamera);
	
	class Camera* TheCamera;

	void SetPos(XMFLOAT3 InPos);
}; 

